"""
计算的结果输出为python对象：
    1.collect:将RDD内容转换为list
    2.reduce:将RDD内容进行自定义聚合
    3.take:取出RDD的前N个元素组成list
    4.count:统计RDD中的元素个数
"""
from my_utils import spark_util

sc = spark_util.get_spark_context()

# 准备rdd
rdd = sc.parallelize([1, 2, 3, 4, 5])

# collect() 将结果转换为list
print(type(rdd.collect()))

# reduce算子，对rdd数据进行两两聚合
num = rdd.reduce(lambda a, b: a + b)
print(num)

# take算子，取出rdd对象的前N个元素，组成list数据返回
take_list = rdd.take(3)
print(take_list)

# count算子，统计rdd内有多少个元素
count = rdd.count()
print(f"rdd内有{count}个元素")
